home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / kcl / kcl.lha / h / fasl_reloc.h < prev    next >
Text File  |  1987-06-04  |  2KB  |  106 lines

  1. /*
  2. (C) Copyright Taiichi Yuasa and Masami Hagiya, 1984.  All rights reserved.
  3. */
  4.  
  5. enum reloc_type {
  6.     RL_ABSOLUTE = 0,
  7.     RL_WORD,
  8.     RL_BYTE,
  9.     RL_DISPLACEMENT,
  10.     RL_SUBTRACTION1,
  11.     RL_OVERLAY,
  12.     RL_MULTIPLY,
  13.     RL_LINK16,
  14.     RL_CALL,
  15.     RL_GREF,
  16.     RL_PC_RELATIVE_15,
  17.     RL_TARGET,
  18.     RL_PC_RELATIVE_16,
  19.     RL_SUBTRACTION2,
  20.     RL_PR_LINK_16 = 020,
  21.     RL_BIT_16,
  22.     RL_LINK32 = 031,
  23.     RL_PR_LINK_32,
  24.     RL_ABSOLUTE_32,
  25.     RL_BIT_32,
  26.     RL_ADDR_WORD_32_31 = 040,
  27.     RL_ADDR_BYTE_32_31,
  28.     RL_ADDR_PC_REL_32_31,
  29.     RL_ADDR_PC_BYTE_32_31,
  30.     RL_ADDR_WORD_32_28,
  31.     RL_ADDR_BYTE_32_28,
  32.     RL_ADDR_PC_REL_32_28,
  33.     RL_ADDR_PC_BYTE_32_28,
  34.     RL_ADDR_WORD_28_31,
  35.     RL_ADDR_BYTE_28_31,
  36.     RL_ADDR_PC_REL_28_31,
  37.     RL_ADDR_PC_BYTE_28_31,
  38.     RL_DATA_ADD_32_32 = 060,
  39.     RL_DATA_SUB1_32_32,
  40.     RL_DATA_MUL_32_32,
  41.     RL_DATA_SUB2_32_32,
  42.     RL_DATA_ADD_32_16S,
  43.     RL_DATA_SUB1_32_16S,
  44.     RL_DATA_MUL_32_16S,
  45.     RL_DATA_SUB2_32_16S,
  46.     RL_DATA_ADD_32_16U,
  47.     RL_DATA_SUB1_32_16U,
  48.     RL_DATA_MUL_32_16U,
  49.     RL_DATA_SUB2_32_16U,
  50.     RL_DATA_ADD_32_16,
  51.     RL_DATA_SUB1_32_16,
  52.     RL_DATA_MUL_32_16,
  53.     RL_DATA_SUB2_32_16,
  54.     RL_ADDR_WORD_32_15U = 0100,
  55.     RL_ADDR_BYTE_32_15U,
  56.     RL_ADDR_PC_REL_32_15U,
  57.     RL_ADDR_PC_BYTE_32_15U,
  58.     RL_ADDR_WORD_32_15S,
  59.     RL_ADDR_BYTE_32_15S,
  60.     RL_ADDR_PC_REL_32_15S,
  61.     RL_ADDR_PC_BYTE_32_15S
  62.     };
  63.  
  64. #define INDIRECT_BIT    020000000000
  65. #define INDIRECT_BIT16    000000100000
  66. #define RING_BITS    016000000000
  67. #define HIGH4_BITS16    000000170000
  68. #define LOW31_BITS    017777777777
  69. #define LOW28_BITS    001777777777
  70. #define LOW16_BITS    000000177777
  71. #define LOW15_BITS    000000077777
  72. #define LOW8_BITS    000000000377
  73.  
  74. #define BIT_0        020000000000
  75. #define BIT_1        010000000000
  76. #define BIT_2        004000000000
  77. #define BIT_3        002000000000
  78. #define BIT_4        001000000000
  79. #define BIT_5        000400000000
  80. #define BIT_6        000200000000
  81. #define BIT_7        000100000000
  82. #define BIT_8        000040000000
  83. #define BIT_9        000020000000
  84. #define BIT_10        000010000000
  85. #define BIT_11        000004000000
  86. #define BIT_12        000002000000
  87. #define BIT_13        000001000000
  88. #define BIT_14        000000400000
  89. #define BIT_15        000000200000
  90. #define BIT_16        000000100000
  91. #define BIT_17        000000040000
  92. #define BIT_18        000000020000
  93. #define BIT_19        000000010000
  94. #define BIT_20        000000004000
  95. #define BIT_21        000000002000
  96. #define BIT_22        000000001000
  97. #define BIT_23        000000000400
  98. #define BIT_24        000000000200
  99. #define BIT_25        000000000100
  100. #define BIT_26        000000000040
  101. #define BIT_27        000000000020
  102. #define BIT_28        000000000010
  103. #define BIT_29        000000000004
  104. #define BIT_30        000000000002
  105. #define BIT_31        000000000001
  106.